package com.eascs.p2p.common.service;

import com.eascs.app.dao.PageResult;
import com.eascs.p2p.common.entity.InvestObjExtEntity;
import com.eascs.p2p.common.entity.InvestObjectEntity;
import com.eascs.p2p.common.vo.InvestObjectVO;
import com.eascs.p2p.common.vo.ModelResult;

public interface IInvestObjectService {

	/**
	 * @Title: findPageInvestObjectEntity
	 * @Description: 分页查询标的信息(后台调用)
	 * @author 张庆奇
	 * @param vo
	 *            查询条件
	 * @return
	 * @return ModelResult<PageResult<Object[]>>
	 * @throws @date
	 *             2016年6月30日 上午10:19:23
	 */
	public ModelResult<PageResult<Object[]>> findPageInvestObjectEntity(InvestObjectVO vo);
	
	
	
	/**
	 * @Title: findFontPageInvestObjectEntity
	 * @Description: 分页查询标的信息(前台调用)
	 * @author 张庆奇
	 * @param vo
	 * @return
	 * @return  ModelResult<PageResult<InvestObjectEntity>>
	 * @throws
	 * @date 2016年7月1日 下午5:14:38
	 */
	public  ModelResult<PageResult<InvestObjectEntity>> findFontPageInvestObjectEntity(InvestObjectVO vo);

	/**
	 * @Title: addInvestObjectEntity
	 * @Description: 保存标的信息
	 * @author 张庆奇
	 * @param investObjectEntity
	 * @return
	 * @return ModelResult<String> 
	 * @throws
	 * @date 2016年6月30日 上午10:21:19
	 */
	public ModelResult<String> addInvestObjectEntity(InvestObjectEntity investObjectEntity,InvestObjExtEntity investObjExtEntity);

	/**
	 * @Title: updateInvestObjectEntity
	 * @Description: 更新标的信息
	 * @author 张庆奇
	 * @param investObjectEntity
	 * @return 
	 * @return
	 * @return ModelResult<Boolean> 
	 * @throws
	 * @date 2016年6月30日 上午10:21:22
	 */
	public ModelResult<Boolean>  updateInvestObjectEntity(InvestObjectEntity investObjectEntity,InvestObjExtEntity investObjExtEntity);
	/**
	 * @Title: deleteInvestObjectEntity
	 * @Description: 删除标的信息
	 * @author 张庆奇
	 * @param id
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年6月30日 上午10:21:25
	 */
	public ModelResult<Boolean> deleteInvestObjectEntity(String id);
	

	/**
	 * @Title: findInvestObjectDetail
	 * @Description: 查询标的详情
	 * @author 张庆奇
	 * @param id
	 * @return
	 * @return ModelResult<InvestObjectEntity>
	 * @throws
	 * @date 2016年7月1日 下午5:16:29
	 */
	public ModelResult<InvestObjectEntity> findInvestObjectDetail(String id);
	
	/**
	 * @Title: verifyBid
	 * @Description: 标的审核
	 * @author 张庆奇
	 * @param id
	 * @return
	 * @return ModelResult<Boolean> 成功true
	 * @throws
	 * @date 2016年7月4日 下午4:05:15
	 */
	public ModelResult<Boolean> verifyBid(String id,int status,String operator);
	
	/**
	 * @Title: getNotVerifyNum
	 * @Description: 查询未审批的借款数量和借款金额
	 * @author 张庆奇
	 * @param type 1,表的管理，2直投宝管理
	 * @return
	 * @return ModelResult<InvestObjectVO>
	 * @throws
	 * @date 2016年7月4日 下午5:19:19
	 */
	public ModelResult<InvestObjectVO> getNotVerifyNum(InvestObjectVO vo);
	
	/**
	 * @Title: addRefundPlan
	 * @Description: 新增还借计划
	 * @author lwx
	 * @param investObjectEntity
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年7月13日 
	 */
	public ModelResult<Boolean> addRefundPlan(InvestObjectEntity investObjectEntity);
	
	/**
	 * @Title: findInvestObjExtEntityDetail
	 * @Description: 根据标的信息查询标的扩展信息
	 * @author 张庆奇
	 * @param bid
	 * @return
	 * @return ModelResult<InvestObjExtEntity>
	 * @throws
	 * @date 2016年7月15日 下午7:38:00
	 */
	public ModelResult<InvestObjExtEntity> findInvestObjExtEntityDetail(String bid);
	
	/**
	 * @Title: addInvestorIncomeDetail
	 * @Description: 新增用户投资明细信息
	 * @author 张庆奇
	 * @param id
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年8月11日 下午4:56:33
	 */
	public ModelResult<Boolean> addInvestorIncomeDetail(String id);
}
